היי,

אני משתמש בפלגין uploadify להעלאת קבצים ב-codeigniter. הקבצים משויכים לדף כתבה, ואחרי השליחה שלהם לשרת אני רוצה להציג אותם בדף העריכת כתבה מבלי צורך לרענן את הדף.

הנה הקוד:

the view:

<div class="container">


<?php echo form_open_multipart(); ?>
<ul class="unstyled">
    <li>
        <?php echo form_upload('userfile','','id="userfile"'); ?>
        <?php echo (isset($error)) ? $error : ''; ?>
    </li>
    <li>
        <?php echo form_button(array('content'=> 'שלח', 'id'=>'upload-file', 'class'=>'btn btn-large btn-primary')); ?>
    </li>
</ul>


<?php echo form_close(); ?>
 </div>
<!-- End Of Main Content -->

       <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
       <script>window.jQuery || document.write('<script src="/assets/js/jquery/jquery-1.8.0.min.js"><\/script>')</script>
       <script src="/assets/js/jquery/uploadify_31/jquery.uploadify-3.1.min.js"        type="text/javascript"></script>
       <script src="/assets/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
      <script type="text/javascript">


          $(document).ready(function () {

    var base_url = '<?php echo base_url(); ?>';

    $('#upload-file').click(function (e) {
        e.preventDefault();
        $('#userfile').uploadify('upload', '*');
    });

    $('#userfile').uploadify({


        'auto':false,
        'swf': base_url + 'assets/js/jquery/uploadify_31/uploadify.swf',
        'uploader': base_url + 'uploadify_v3/do_upload',
        'cancelImg': base_url + 'assets/javascript/jquery/uploadify_31/uploadify-cancel.png',
        'fileTypeExts':'*.jpg;*.bmp;*.png;*.tif',
        'fileTypeDesc':'Image Files (.jpg,.bmp,.png,.tif)',
        'fileSizeLimit':'2MB',
        'fileObjName':'userfile',
        'buttonText':'בחר תמונות',
        'multi':true,
        'removeCompleted':false,
        'onUploadError' : function(file, errorCode, errorMsg, errorString) {
            alert('The file ' + file.name + ' could not be uploaded: ' + errorString);
        }
    });
});
the Controller:

 class Uploadify_v3 extends CI_Controller
 {

public $view_data = array();
private $upload_config;

function __construct()
{
    parent::__construct();
}

public function index()
{
    $this->load->helper(array('url', 'form'));
    $this->load->view('uploadify_v3', $this->view_data);
}

public function do_upload()
{
    $this->load->library('upload');

    $image_upload_folder = FCPATH . '/uploads';

    if (!file_exists($image_upload_folder)) {
        mkdir($image_upload_folder, DIR_WRITE_MODE, true);
    }

    $this->upload_config = array(
        'upload_path'   => $image_upload_folder,
        'allowed_types' => 'png|jpg|jpeg|bmp|tiff',
        'max_size'      => 2048,
        'remove_space'  => TRUE,
        'encrypt_name'  => TRUE,
    );

    $this->upload->initialize($this->upload_config);

    if (!$this->upload->do_upload()) {
        $upload_error = $this->upload->display_errors();
        echo json_encode($upload_error);
    } else {
        $file_info = $this->upload->data();
         $this->load->model('user_model');


        $query_file = $this->user_model->insert_file($file_info['file_name']);

          echo json_encode($query_file);
    }

  }
the model:

             public function insert_file($filename)
{
    $data = array(
        'file_name'      => $filename

    );
     $insert = $this->db->insert('files', $data);
  $last_id = $this->db->insert_id();

    return $last_id;



}

0 תשובות